#include <iostream>
using namespace std;

const int N = 3010;

int main()
{
    int a[N] = { 1 };
    int n;
    cin >> n;
    int m = 1;

    for (int i = 0; i < n; i++) {
        int t = 0;
        for (int j = 0; j < m; j++) {   //从第0位开始（倒着存放数字）
            t += a[j] * 2;  //计算本位数字的2倍
            a[j] = t % 10;  //结果的最后一位作为新的本位数字
            t /= 10;    //结果的第一位进位
        }
        if (t) a[m++] = 1;  //如果t==1，那么进一位，a[m]=1，同时m+1
    }

    for (int i = m - 1; i >= 0; i--) cout << a[i];  //逆序输出
    cout << endl;

    return 0;
}